package com.vanysoft.business.sys.service;

import com.vanysoft.business.sys.entity.Menu;
import com.vanysoft.framework.config.database.BaseService;

import java.util.List;

/**
 * 角色service
 *
 * @author qi_ma
 */
public interface MenuService extends BaseService<Menu> {
    /**
     * 根据用户ID查询所有菜单
     *
     * @param userId 用户ID
     * @return 角色列表
     */
    List<Menu> selectByUserId(String userId);

    /**
     * 查询所有菜单
     *
     * @param userId 用户ID
     * @return 菜单列表
     */
    List<Menu> selectAll(String userId);

    /**
     * 根据角色ID查询所有菜单ID集合
     *
     * @param roleId 角色ID
     * @return 菜单ID集合
     */
    List<String> selectIdsByRoleId(String roleId);

    /**
     * 根据角色ID和菜单ID数组删除
     *
     * @param roleId  角色ID
     * @param menuIds 菜单ID数组(为空删除该角色所有菜单)
     * @return 是否成功
     */
    boolean saveByRoleIdAndMenuIds(String roleId, String[] menuIds);
}
